Cấu Hình Giao Diện
Trong v8, CMS đã cung cấp sẵn một hệ thống Theme Options mạnh mẽ tại đường dẫn Admin → Giao diện → Cấu hình. Hệ thống này được xây dựng trên Class SkillDo\Cms\Support\ThemeOption.
Theme Options cho phép admin tùy chỉnh giao diện website qua form UI. Dữ liệu lưu vào database qua Option::get/update, dùng trong theme để build CSS/layout.
1. Thêm Nhóm Cấu Hình Chính (Group)
Một Group đại diện cho một Tab bấm lớn bên trái màn hình Cấu hình Theme.
Bạn sử dụng hàm tĩnh ThemeOption::addGroup() kết hợp với Hook theme_custom_options để đăng ký Tab này.
Ví dụ tạo file bootstrap/theme-options.php:
use SkillDo\Cms\Support\ThemeOption;
use SkillDo\Form\Form;
add_action('theme_custom_options', function () {
// Tạo 1 Tab mới tên ID là 'general'
ThemeOption::addGroup('general', [
'position' => 10, // Thứ tự sắp xếp (số nhỏ xếp lên trên)
'label' => 'Cấu hình chung',
'icon' => '<i class="fa-light fa-screwdriver-wrench"></i>',
'root' => false, // Set true nếu chỉ cấp quyền Super Admin mới thấy Tab
// Khai báo giao diện các Input trong Panel
'form' => function(Form $form) {
$form->text('general_label', ['label' => 'Tên website (shop)']);
$form->color('theme_color', ['label' => 'Màu chủ đề']);
$form->background('bodyBg', ['label' => 'Nền website']);
}
]);
});
Param $args | Type | Mô tả | Default |
|---|---|---|---|
position | int | Thứ tự sắp xếp (thấp = trước) | 0 |
label | string | Tên nhóm hiển thị trong tab | bắt buộc |
icon | string | HTML icon đại diện | '' |
form | Form|callable | Form object hoặc closure trả về Form | null |
root | bool | Chỉ hiển thị với tài khoản root | false |